package paginas;

import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.awt.event.WindowFocusListener;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Vector;

import javax.swing.DefaultListModel;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import modelUtil.Util;
import usuario.usuarioTO.UsuarioTO;
import util.BotonPersonalizado;
import util.TransicionBotones;
import AccionBoton.AccionCerrar;
import AccionBoton.AccionCrearTeclado;
import AccionBoton.AccionCrearUsuario;
import AccionBoton.AccionDuplicarTeclado;
import AccionBoton.AccionDuplicarUsuario;
import AccionBoton.AccionEditarUsuario;
import AccionBoton.AccionEliminarTeclado;
import AccionBoton.AccionEliminarUsuario;
import AccionBoton.AccionFocoCreditos;
import AccionBoton.AccionFocoVentana;
import AccionBoton.AccionImportarExportarTeclado;
import AccionBoton.AccionIrCreacionTeclados;
import AccionBoton.AccionLanzarAyuda;
import AccionBoton.AccionMoverUsuario;
import AccionBoton.AccionSeleccionTecladoPrincipal;
import fachadaUsuario.delegate.UsuarioFacade;

public class PaginaEntornoCreacion extends JDialog implements ListSelectionListener{

	

	private static final long serialVersionUID = 1L;
	JPanel izq = new JPanel();
	JPanel drcha = new JPanel();
	JPanel abajo = new JPanel();
	String usuario;
	List<String> teclados;
	JLabel etiqueta = new JLabel();
    private JList list;
    private DefaultListModel listModel;
    private JList list2;
    private DefaultListModel listModel2;
    private AccionEliminarUsuario action;
    private BotonPersonalizado b1;
    private BotonPersonalizado b2;
    private BotonPersonalizado b3;
    private BotonPersonalizado b4;
    private BotonPersonalizado b5;
    private BotonPersonalizado b6;
    private BotonPersonalizado b7;
    private BotonPersonalizado b8;
    private BotonPersonalizado b9;
    private BotonPersonalizado b10;
    private BotonPersonalizado b11;
    private BotonPersonalizado b12;
    private BotonPersonalizado boton1;
    private BotonPersonalizado boton2;
    private boolean navegacion = true;
	private TransicionBotones policy;
	private JScrollPane pane;
	private Vector<Component> order;
	private JFrame _abuelo;
	private WindowFocusListener foco;


	public PaginaEntornoCreacion(JFrame abuelo){
		
		_abuelo = abuelo;
		initComponents();
        order = new Vector<Component>(14);
        
        order.add(b1);
        order.add(b2);
        order.add(b3);
        order.add(b4);
        order.add(b5);
        order.add(b6);
        order.add(list);
        order.add(boton1);
        order.add(boton2);

        foco = new AccionFocoVentana(b1);
        
        this.addWindowFocusListener(foco);
       this.setFocusable(true);
       policy = new TransicionBotones(order);
       this.setFocusTraversalPolicy(policy);
		setBounds(0, 0, 700, 600);
		setAlwaysOnTop(true);
		setLocationRelativeTo(null);
		setResizable(false);
		setVisible(true);
		
	}
	
	//Inicializa los componentes del panel
	private void initComponents(){
		
		panelIzq();
		panelDrcha();
		panelAbajo();
		GridBagLayout grid = new GridBagLayout();
		GridBagConstraints cons = new GridBagConstraints();
		JPanel panelP = new JPanel();
		GridLayout g = new GridLayout(1, 2);
		panelP.setLayout(g);
		g.addLayoutComponent("izq", izq);
		panelP.add(izq);
		g.addLayoutComponent("drcha", drcha);
		panelP.add(drcha);
		
		cons.gridheight = 1;
		cons.gridwidth = 1;
		cons.gridx = 0;
		cons.gridy =0;
		grid.addLayoutComponent(panelP, cons);
		add(panelP);

		cons.gridx = 0;
		cons.gridy = 1;
		cons.gridwidth = 2;
		grid.addLayoutComponent(abajo, cons);
		add(abajo);
		
		this.setLayout(grid);
		
	}
	
	//Crea el panel de usuarios
	public void panelIzq(){
		
		JPanel panel1 = new JPanel();
		JPanel panel2 = new JPanel();
		GridBagLayout grid2 = new GridBagLayout();
		
		GridBagConstraints cons = new GridBagConstraints();
		cons.gridheight = 1;
		cons.gridwidth = 2;
		
		b1 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_anhadir"), "lib//Resources//addUsuario.png");
		b2 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_editar"), "lib//Resources//editarUsuario.png");
		b3 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_exportar"), "lib//Resources//exportarUsuario.png");
		b4 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_importar"), "lib//Resources//importarUsuario.png");
		b5 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_duplicar"), "lib//Resources//duplicarUsuario.png");
		b6 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_eliminar"), "lib//Resources//eliminarUsuario.png");

		b1.setBackground(Color.lightGray);
		b2.setBackground(Color.lightGray);
		b3.setBackground(Color.lightGray);
		b4.setBackground(Color.lightGray);
		b5.setBackground(Color.lightGray);
		b6.setBackground(Color.lightGray);
		
		b1.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b2.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b3.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b4.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b5.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b6.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		
		b1.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b2.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b3.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b4.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b5.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b6.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);

		b1.getLabelTexto().setFont(b1.getFont().deriveFont(Font.BOLD,16));
		b2.getLabelTexto().setFont(b2.getFont().deriveFont(Font.BOLD,16));
		b3.getLabelTexto().setFont(b3.getFont().deriveFont(Font.BOLD,16));
		b4.getLabelTexto().setFont(b4.getFont().deriveFont(Font.BOLD,16));
		b5.getLabelTexto().setFont(b5.getFont().deriveFont(Font.BOLD,16));
		b6.getLabelTexto().setFont(b6.getFont().deriveFont(Font.BOLD,16));

		
		GridLayout grid1 = new GridLayout(6, 1);
		grid1.setVgap(10);
		panel1.setLayout(grid1);
		grid1.addLayoutComponent("boton", b1);
		panel1.add(b1);
		grid1.addLayoutComponent("boton", b2);
		panel1.add(b2);
		grid1.addLayoutComponent("boton", b3);
		panel1.add(b3);
		grid1.addLayoutComponent("boton", b4);
		panel1.add(b4);
		grid1.addLayoutComponent("boton", b5);
		panel1.add(b5);
		grid1.addLayoutComponent("boton", b6);
		panel1.add(b6);
		panel1.setPreferredSize(new Dimension(150, 400));
		izq.setPreferredSize(new Dimension(300,450));
		
		UsuarioFacade fachada = new UsuarioFacade();
		List<String> usuarios = fachada.ListarUsuarios();

        listModel = new DefaultListModel();
        for (int i=0; i<usuarios.size();i++){
        	if(!usuarios.get(i).equals(".svn")){
        		if(!usuarios.get(i).equals("Admin"))
                listModel.addElement(usuarios.get(i));

        	}

        }

        //Create the list and put it in a scroll pane.
        list = new JList(listModel);
        list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        list.addListSelectionListener(this);
        list.setVisibleRowCount(5);
       
    	pane = new JScrollPane(list);
    	pane.setVisible(true);
    	action = new AccionEliminarUsuario(list,this);
		b1.addActionListener(new AccionCrearUsuario(this));
		b2.addActionListener(new AccionEditarUsuario(list,this));
		b3.addActionListener(new AccionMoverUsuario(this, "exportar"));
		b4.addActionListener(new AccionMoverUsuario(this, "importar"));
		b5.addActionListener(new AccionDuplicarUsuario(list,this));
		b6.addActionListener(action);

		b1.setFocusable(true);
		b2.setFocusable(true);
		b3.setFocusable(true);
		b4.setFocusable(true);
		b5.setFocusable(true);
		b6.setFocusable(true);

		b1.addFocusListener(new AccionFocoCreditos(b1));
		b2.addFocusListener(new AccionFocoCreditos(b2));
		b3.addFocusListener(new AccionFocoCreditos(b3));
		b4.addFocusListener(new AccionFocoCreditos(b4));
		b5.addFocusListener(new AccionFocoCreditos(b5));
		b6.addFocusListener(new AccionFocoCreditos(b6));
		
		
		b1.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_agregar_usuario"));
		b1.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_agregar_usuario"));
		b2.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_editar_usuario"));
		b2.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_editar_usuario"));
		b3.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_exportar_usuario"));
		b3.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_exportar_usuario"));
		b4.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_importar_usuario"));
		b4.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_importar_usuario"));
		b5.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_duplicar_usuario"));
		b5.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_duplicar_usuario"));
		b6.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_eliminar_usuario"));
		b6.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_eliminar_usuario"));
		
		b1.setMnemonic(KeyEvent.VK_A);
		b1.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_A);
		b2.setMnemonic(KeyEvent.VK_T);
		b2.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_T);
		b3.setMnemonic(KeyEvent.VK_X);
		b3.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_X);
		b4.setMnemonic(KeyEvent.VK_M);
		b4.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_M);
		b5.setMnemonic(KeyEvent.VK_D);
		b5.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_D);
		b6.setMnemonic(KeyEvent.VK_E);
		b6.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_E);


		
		pane.setPreferredSize(new Dimension(150, 400));
		list.getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_lista_usuarios"));
		list.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_lista_usuarios"));
		
		panel2.add(pane);
		cons.gridx = 0;
		cons.gridy = 0;
		JLabel etiqueta = new JLabel(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_titulo_usuarios"));
    	etiqueta.setFont(new Font("Verdana", Font.BOLD,16));
		izq.setLayout(grid2);
		grid2.addLayoutComponent(etiqueta, cons);
		izq.add(etiqueta);

		cons.gridheight = 1;
		cons.gridwidth = 1;
		cons.gridx = 0;
		cons.gridy =1;
		grid2.addLayoutComponent(panel1, cons);
		izq.add(panel1);

		cons.gridx = 1;
		grid2.addLayoutComponent(panel2, cons);

		izq.add(panel2);
		
	}
	
	public void panelDrcha(){
		
		JPanel panel1 = new JPanel();
		JPanel panel2 = new JPanel();

		UsuarioFacade fachada = new UsuarioFacade();
		List<String> usuarios = fachada.ListarUsuarios();
		
		
		GridBagLayout grid2 = new GridBagLayout();
		GridBagConstraints cons = new GridBagConstraints();
		
		b7 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_anhadir"), "lib//Resources//addTeclado.png");
		b8 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_editar"), "lib//Resources//editarTeclado.png");
		b9 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_importar_exportar"), "lib//Resources//importarExportarTeclado.png");
		b10 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_principal"), "lib//Resources//TecladoPrincipal.png");
		b11 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_duplicar"), "lib//Resources//duplicarTeclado.png");
		b12 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_boton_eliminar"), "lib//Resources//eliminarTeclado.png");

		b7.setBackground(Color.lightGray);
		b8.setBackground(Color.lightGray);
		b9.setBackground(Color.lightGray);
		b10.setBackground(Color.lightGray);
		b11.setBackground(Color.lightGray);
		b12.setBackground(Color.lightGray);
		
		b7.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b8.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b9.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b10.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b11.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b12.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		
		b7.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b8.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b9.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b10.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b11.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		b12.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		
		b7.getLabelTexto().setFont(b1.getFont().deriveFont(Font.BOLD,16));
		b8.getLabelTexto().setFont(b2.getFont().deriveFont(Font.BOLD,16));
		b9.getLabelTexto().setFont(b3.getFont().deriveFont(Font.BOLD,16));
		b10.getLabelTexto().setFont(b4.getFont().deriveFont(Font.BOLD,16));
		b11.getLabelTexto().setFont(b5.getFont().deriveFont(Font.BOLD,16));
		b12.getLabelTexto().setFont(b6.getFont().deriveFont(Font.BOLD,16));

		b7.setFocusable(true);
		b8.setFocusable(true);
		b9.setFocusable(true);
		b10.setFocusable(true);
		b11.setFocusable(true);
		b12.setFocusable(true);

		b7.addFocusListener(new AccionFocoCreditos(b7));
		b8.addFocusListener(new AccionFocoCreditos(b8));
		b9.addFocusListener(new AccionFocoCreditos(b9));
		b10.addFocusListener(new AccionFocoCreditos(b10));
		b11.addFocusListener(new AccionFocoCreditos(b11));
		b12.addFocusListener(new AccionFocoCreditos(b12));
		

		b7.setMnemonic(KeyEvent.VK_I);
		b7.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_I);
		b8.setMnemonic(KeyEvent.VK_R);
		b8.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_R);
		b9.setMnemonic(KeyEvent.VK_O);
		b9.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_O);
		b10.setMnemonic(KeyEvent.VK_P);
		b10.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_P);
		b11.setMnemonic(KeyEvent.VK_U);
		b11.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_U);
		b12.setMnemonic(KeyEvent.VK_L);
		b12.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_L);
		
		
		
		b7.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_agregar_teclado"));
		b7.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_agregar_teclado"));
		b8.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_editar_teclado"));
		b8.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_editar_teclado"));
		b9.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_exportar_importar_teclado"));
		b9.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_exportar_importar_teclado"));
		b10.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_principal_teclado"));
		b10.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_principal_teclado"));
		b11.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_duplicar_teclado"));
		b11.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_duplicar_teclado"));
		b12.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_eliminar_teclado"));
		b12.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_eliminar_teclado"));
		
		GridLayout grid1 = new GridLayout(6, 1);
		grid1.setVgap(10);
		panel1.setLayout(grid1);
		grid1.addLayoutComponent("boton", b7);
		panel1.add(b7);
		grid1.addLayoutComponent("boton", b8);
		panel1.add(b8);
		grid1.addLayoutComponent("boton", b9);
		panel1.add(b9);
		grid1.addLayoutComponent("boton", b10);
		panel1.add(b10);
		grid1.addLayoutComponent("boton", b11);
		panel1.add(b11);
		grid1.addLayoutComponent("boton", b12);
		panel1.add(b12);
		panel1.setPreferredSize(new Dimension(150, 400));
		
		
		drcha.setLayout(grid2);
		cons.gridheight = 1;
		cons.gridwidth = 2;
		cons.gridx=0;
		cons.gridy = 0;
		
        listModel2 = new DefaultListModel();
        for (int i=0; i<usuarios.size();i++){
        	if(!usuarios.get(i).equals(".svn"))
        listModel2.addElement(usuarios.get(i));
        }

        //Create the list and put it in a scroll pane.
        list2 = new JList(listModel2);
        list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        list2.setVisibleRowCount(5);
        list2.getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_lista_teclados"));
		list2.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_lista_teclados"));
    	JScrollPane pane = new JScrollPane(list2);
    	
    	b7.addActionListener(new AccionCrearTeclado(list,this));
    	b8.addActionListener(new AccionIrCreacionTeclados(this, list,list2));
    	b9.addActionListener(new AccionImportarExportarTeclado(this));
    	b10.addActionListener(new AccionSeleccionTecladoPrincipal(list2, this));
    	b11.addActionListener(new AccionDuplicarTeclado(list2, this));
		b12.addActionListener(new AccionEliminarTeclado(list2,this));

    	
    	
		panel2.add(pane);
		
		pane.setPreferredSize(new Dimension(150, 400));
		grid2.addLayoutComponent(etiqueta, cons);
		drcha.add(etiqueta);
		cons.gridwidth = 1;
		cons.gridy =1;
		grid2.addLayoutComponent(panel1, cons);
		drcha.add(panel1);
		cons.gridx=1;
		grid2.addLayoutComponent(panel2, cons);
		drcha.add(panel2);
		drcha.setVisible(false);
		
	}
	
	public void panelAbajo(){
		
		boton1 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_popup_admin_ayuda"),"lib//Resources//Ayuda.png");
		boton2 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_salir"), "lib//Resources//Salir.jpg");
		boton1.addActionListener(new AccionLanzarAyuda(this));
		boton2.addActionListener(new AccionCerrar(this,_abuelo));
		boton1.setFocusable(true);
		boton2.setFocusable(true);

		boton1.addFocusListener(new AccionFocoCreditos(boton1));
		boton2.addFocusListener(new AccionFocoCreditos(boton2));
		boton1.setMnemonic(KeyEvent.VK_Y);
		boton1.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_Y);
		boton2.setMnemonic(KeyEvent.VK_S);
		boton2.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_S);


		
		boton1.getLabelTexto().setFont(boton1.getFont().deriveFont(Font.BOLD,16));
		boton2.getLabelTexto().setFont(boton1.getFont().deriveFont(Font.BOLD,16));

		
		boton1.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		boton2.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);

		boton1.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);
		boton2.getLabelTexto().setHorizontalAlignment(SwingConstants.RIGHT);

		boton1.setPreferredSize(new Dimension(150,50));
		boton2.setPreferredSize(new Dimension(150,50));

		
		boton1.setBackground(Color.lightGray);
		boton2.setBackground(Color.lightGray);

		
		abajo.add(boton1);
		abajo.add(boton2);
		
		
	}
	
	
    public void valueChanged(ListSelectionEvent e) {
        if (e.getValueIsAdjusting() == false) {

            if (list.getSelectedIndex() == -1) {

            } else {
            	
            	if(navegacion){
            		
            		order.add(b7);
            		order.add(b8);
            		order.add(b9);
            		order.add(b10);
            		order.add(b11);
            		order.add(b12);
            		order.add(list2);
                    policy = new TransicionBotones(order);
                    this.setFocusTraversalPolicy(policy);
                    
                    navegacion = false;
            	}
            	

            	
            	action.set_usuario(list);
            	teclados = Util.ListarTecladosUsuario(list.getSelectedValue().toString());
            	usuario = list.getSelectedValue().toString();
            	etiqueta.setText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pagina_entorno_creacion_titulo_teclados")+ " " + list.getSelectedValue().toString());
            	etiqueta.setFont(new Font("Verdana", Font.BOLD,16));
            	listModel2.removeAllElements();
        		UsuarioFacade fachada = new UsuarioFacade();
        		UsuarioTO usuarioto = fachada.BuscarUsuario(usuario);
            	
            	listModel2.addElement(usuarioto.getTecladoPrincipal());
            	for(int j=0;j<teclados.size();j++){
            		if(!teclados.get(j).equals(usuarioto.getTecladoPrincipal())){
            		listModel2.addElement(teclados.get(j));}
            		

            	}
            	
            	drcha.setVisible(true);
            }
        }
    }


	public String getUsuario() {
		return usuario;
	}


	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}


	public JList getList() {
		return list;
	}


	public void setList(JList list) {
		this.list = list;
	}

	public DefaultListModel getListModel() {
		return listModel;
	}

	public void setListModel(DefaultListModel listModel) {
		this.listModel = listModel;
	}

	public DefaultListModel getListModel2() {
		return listModel2;
	}

	public void setListModel2(DefaultListModel listModel2) {
		this.listModel2 = listModel2;
	}

	public TransicionBotones getPolicy() {
		return policy;
	}

	public void setPolicy(TransicionBotones policy) {
		this.policy = policy;
	}

	public WindowFocusListener getFoco() {
		return foco;
	}

	public void setFoco(WindowFocusListener foco) {
		this.foco = foco;
	}
    
	public void requestFocus(){
		this.setFocusTraversalPolicy(policy);
		super.requestFocus();
		
	}
	
}
